﻿
def void logcb(int64_t ns, LogLevel level, fmt_wstring_view location, size_t basePos,fmt_wstring_view threadName, fmt_wstring_view msg, size_t bodyPos, size_t logFilePos)
	调试输出("日志回调被调用")

def void logQFullCB(void * userData)
	调试输出("日志队满回调被调用")

函数 整型 入口函数()
	控制台置中文编码()

	字符型 randomString[] = "Hello World";
	日志_记录信息("字符串, 指针, 整数, 双 浮点数: '{}', {}, {}, {}", randomString, (void*)&randomString, 512, 3.14159)
	
	日志_记录(日志级别_调试,"不会记录此消息，因为它低于当前日志级别。")
	日志_置日志级别(日志级别_调试)
	日志_记录(日志级别_调试,"现在显示调试消息")
	日志_轮询()
	
	日志_置线程名称("主线程");
	日志_记录(日志级别_信息, "线程名称已更改");
	日志_轮询()

	日志_置日志头格式("{YmdHMSF} {a} {s} {l}[{t}] ")
	日志_记录(日志级别_信息,"标题模式已更改，显示完整的日期时间信息")

	动态数组<int> arr{1,2,3,4}
	日志_记录(日志级别_信息, "日志_记录 arr = {}", arr)
	日志_记录(日志级别_信息, "日志_记录 {}", "信息")
	日志_记录(日志级别_警告, "日志_记录 {}", "警告")
	日志_记录(日志级别_错误, "日志_记录 {}", "错误")
	日志_轮询()

	计次循环 整型 i=0; 10
		日志_限制记录(1000*1000*30,日志级别_信息,"此消息将以至少 30 ms 的间隔记录: {}.", i)
		延迟(10)
	日志_轮询()

	日志_置日志回调(&logcb, 日志级别_警告)
	日志_记录(日志级别_警告, "此消息将被回调")
	日志_轮询()

	日志_置日志文件("1.log",日志文件模式_截断)
	计次循环 整型 i=0; 10
		日志_记录(日志级别_信息, "测试 日志文件位置: {}.", i)
		延迟(10)
	
	日志_置日志队满回调(&logQFullCB, 空指针)
	文本型 str 
	计次循环 整型 i = 0; 256
		str.添加("大量信息")
	计次循环 整型 i = 0; 1024
		日志_记录(日志级别_信息, "测试队满 {}", str)

	日志_轮询()

	控制台暂停()
	返回 0
